package com.ucode.model.hrm;

import com.ucode.tool.base.BaseTenantMode;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.ToString;
import java.math.BigDecimal;
import java.time.LocalDate;

/**
 * 员工薪酬表
 * @Author: liliang
 * @Date: 2025/3/26 15:54
 * @Version: 1.0
 */
@Schema(description = "人力资源管理系统 - 员工薪酬表")
@Data
@EqualsAndHashCode
@ToString(callSuper = true)
public class HrmEmployeeCompensation extends BaseTenantMode<Long,Long> {
    /**
     * 银行名称
     */
    private String bankName;
    /**
     * 银行卡号
     */
    private String bankCard;
    /**
     * 基本工资
     */
    private BigDecimal baseSalary;
    /**
     * 绩效工资（岗位工资）
     */
    private BigDecimal performancePay = BigDecimal.ZERO;
    /**
     * 交通补贴（每月固定）
     */
    private BigDecimal trafficAllowance = BigDecimal.ZERO;
    /**
     * 通讯补贴（每月固定）
     */
    private BigDecimal phoneAllowance = BigDecimal.ZERO;
    /**
     * 其他补贴（每月固定）
     */
    private BigDecimal otherallowance = BigDecimal.ZERO;

    // 社保相关（企业+个人）
    /**
     * 开始缴纳社保日期
     */
    private LocalDate socialSecurityDate;
    /**
     * 社保规则ID
     */
    private Long socialSecurityRuleId;

    // 公积金相关
    /**
     * 公积金基数
     */
    private BigDecimal housingFundBase;
    /**
     * 企业缴存比例
     */
    private BigDecimal housingFundEnterpriseRate;
    /**
     * 个人缴存比例
     */
    private BigDecimal housingFundPersonalRate;
    /**
     * 发薪日
     */
    private String paySalaryDay;
}
